package com.chushouya.product.service.sync;

import com.chushouya.product.dto.api.suhuishou.SuhuishouBrandDTO;
import com.chushouya.product.dto.api.suhuishou.SuhuishouProductListDTO;

import java.util.List;

/**
 * 速回收同步服务接口
 * 
 * @author system
 */
public interface SuhuishouSyncService {
    
    /**
     * 同步品牌列表 - 批量处理所有分类
     */
    void syncBrandList();
    
    /**
     * 同步产品列表 - 批量处理所有品牌
     */
    void syncProductList();
    
    /**
     * 同步指定分类的品牌
     * 
     * @param categoryId 分类ID
     */
    void syncBrand(Long categoryId);
    
    /**
     * 同步指定分类和品牌的产品
     * 
     * @param categoryId 分类ID
     * @param brandId 品牌ID
     */
    void syncProduct(Long categoryId, Long brandId);
    
    /**
     * 获取本地氢回收品牌ID列表
     * 
     * @param categoryId 分类ID
     * @return 速回收品牌ID列表
     */
    List<Long> getQinghuishouBrandIdList(Long categoryId);
    
    /**
     * 获取速回收品牌列表
     * 
     * @param categoryId 分类ID
     * @return 品牌列表
     */
    List<SuhuishouBrandDTO> getSuhuishouBrandList(Long categoryId);
    
    /**
     * 获取本地氢回收产品ID列表
     * 
     * @param categoryId 分类ID
     * @param brandId 品牌ID
     * @return 速回收产品ID列表
     */
    List<Long> getQinghuishouProductIdList(Long categoryId, Long brandId);
    
    /**
     * 获取速回收产品列表
     * 
     * @param categoryId 分类ID
     * @param brandId 品牌ID
     * @return 产品列表
     */
    SuhuishouProductListDTO getSuhuishouProductList(Long categoryId, Long brandId);
}
